package com.clientes;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutionException;

import org.json.JSONArray;
import org.json.JSONException;

import android.content.Context;
import android.net.ParseException;
import android.util.Log;

import com.eventos.EventoBean;
import com.google.gson.stream.JsonReader;
import com.eventssmartphone.JSONReader;
import com.eventssmartphone.JSONReaderListener;
public class GestorAmbiente {

private static final GestorAmbiente gestor = new GestorAmbiente();
	
	public static GestorAmbiente getInstance(){
		return gestor;
	}
	
	
	public void dameAmbientesJson(Context context){
		JSONReader jReader = new JSONReader();
		jReader.setJSONReaderListener((JSONReaderListener)context);
		jReader.execute("http://200.16.7.112:3000/event_management/venues/dameTodosLosAmbientes/dameTodosLosAmbientes.json");
	}
	
	public List<AmbienteBean> procesarDameAmbientes(JSONArray jAmbiente){
		List<AmbienteBean> lstAmbientes= new ArrayList<AmbienteBean>();
		try{
			for(int i=0;i < jAmbiente.length();i++){
			
				AmbienteBean objAmbiente = new AmbienteBean();
				objAmbiente.setIdAmbiente(jAmbiente.getJSONObject(i).getJSONObject("venue").getInt("id"));
				objAmbiente.setNombre(jAmbiente.getJSONObject(i).getJSONObject("venue").getString("nombre"));
				objAmbiente.setDireccion(jAmbiente.getJSONObject(i).getJSONObject("venue").getString("direccion"));
				objAmbiente.setEstacionamientos(jAmbiente.getJSONObject(i).getJSONObject("venue").getInt("estacionamiento"));
				objAmbiente.setLatitud(jAmbiente.getJSONObject(i).getJSONObject("venue").getDouble("latitude"));
				objAmbiente.setLongitud(jAmbiente.getJSONObject(i).getJSONObject("venue").getDouble("longitude"));
				lstAmbientes.add(objAmbiente);
				
			}	
			return lstAmbientes;
		}catch(JSONException e){
			Log.e("log_tag", "Error parsing data "+e.toString());
			return null;
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		}
	}
	
	public AmbienteBean dameAmbiente(String nombre){
		JSONArray jAmbientes = new JSONArray();
		List<AmbienteBean> lstAmbientes = procesarDameAmbientes(jAmbientes);
		AmbienteBean ambiente = new AmbienteBean();
		for( int i = 0; i<lstAmbientes.size(); i++){
			if (lstAmbientes.get(i).getNombre() == nombre)
				ambiente = lstAmbientes.get(i);				
		}
		return ambiente;	
	}
	
	/*public List<AmbienteBean> dameAmbientesJson(){
		JSONArray jAmbiente;
		
		try {
			jAmbiente=(new JSONReader().execute("http://200.16.7.112:3000/event_management/venues/dameTodosLosAmbientes/dameTodosLosAmbientes.json")).get();
		} catch (InterruptedException e1) {
			e1.printStackTrace();
			return null;
		} catch (ExecutionException e1) {
			e1.printStackTrace();
			return null;
		}

		List<AmbienteBean> lstAmbientes= new ArrayList<AmbienteBean>();
		try{
			for(int i=0;i < jAmbiente.length();i++){
			
				AmbienteBean objAmbiente = new AmbienteBean();
				objAmbiente.setIdAmbiente(jAmbiente.getJSONObject(i).getJSONObject("venue").getInt("id"));
				objAmbiente.setNombre(jAmbiente.getJSONObject(i).getJSONObject("venue").getString("nombre"));
				objAmbiente.setDireccion(jAmbiente.getJSONObject(i).getJSONObject("venue").getString("direccion"));
				objAmbiente.setEstacionamientos(jAmbiente.getJSONObject(i).getJSONObject("venue").getInt("estacionamiento"));
				
				lstAmbientes.add(objAmbiente);
				
			}	
			return lstAmbientes;
		}catch(JSONException e){
			Log.e("log_tag", "Error parsing data "+e.toString());
			return null;
		}
	}
	*/
}
